package org.jeecg.trace.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 工单bom从表
 * @Author: shaolong
 * @Date:   2022-11-17
 * @Version: V1.0
 */
@Data
@TableName("mes_bom_item_wo")
@ApiModel(value="工单BOM对象", description="工单bom从表")
public class MesBomItemWo implements Serializable {
    private static final long serialVersionUID = 1L;

	/**工单ID*/
    @ApiModelProperty(value = "工单ID")
    @MppMultiId
    private String woid;
	/**产线或者产线组*/
	@Excel(name = "产线或者产线组", width = 15)
    @ApiModelProperty(value = "产线或者产线组")
    @MppMultiId
    private String line;
	/**产品或者产品组*/
	@Excel(name = "产品或者产品组", width = 15)
    @ApiModelProperty(value = "产品或者产品组")
    @MppMultiId
    private String partno;
	/**产品版本*/
	@Excel(name = "产品版本", width = 15)
    @ApiModelProperty(value = "产品版本")
    private String rev;
	/**物料*/
	@Excel(name = "物料", width = 15)
    @ApiModelProperty(value = "物料")
    @MppMultiId
    private String itempartno;
	/**物料版本*/
	@Excel(name = "物料版本", width = 15)
    @ApiModelProperty(value = "物料版本")
    private String itemrev;
	/**英文描述*/
	@Excel(name = "英文描述", width = 15)
    @ApiModelProperty(value = "英文描述")
    private String descEn;
	/**本地描述*/
	@Excel(name = "本地描述", width = 15)
    @ApiModelProperty(value = "本地描述")
    private String descLocal;
	/**图号*/
	@Excel(name = "图号", width = 15)
    @ApiModelProperty(value = "图号")
    private String drawing;
	/**消耗数量*/
	@Excel(name = "消耗数量", width = 15)
    @ApiModelProperty(value = "消耗数量")
    private java.math.BigDecimal qtyPer;
	/**单位*/
	@Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private String unit;
	/**工位*/
	@Excel(name = "工位", width = 15)
    @ApiModelProperty(value = "工位")
    @MppMultiId
    private String op;
	/**是否重用*/
	@Excel(name = "是否重用", width = 15)
    @ApiModelProperty(value = "是否重用")
    @Dict(dicCode = "yn")
    private String reuse;
	/**条码校验规则*/
	@Excel(name = "条码校验规则", width = 15)
    @ApiModelProperty(value = "条码校验规则")
    private String idpattern;
	/**条码名称*/
	@Excel(name = "条码名称", width = 15)
    @ApiModelProperty(value = "条码名称")
    private String idname;
	/**是否引领条码*/
	@Excel(name = "是否引领条码", width = 15)
    @ApiModelProperty(value = "是否引领条码")
    @Dict(dicCode = "yn")
    private String leadno;
	/**是否需要扣减物料批次*/
	@Excel(name = "是否需要扣减物料批次", width = 15)
    @ApiModelProperty(value = "是否需要扣减物料批次")
    @Dict(dicCode = "yn")
    private String lottrack;
	/**0:disabled, otherwise enbaled*/
	@Excel(name = "0:disabled, otherwise enbaled", width = 15)
    @ApiModelProperty(value = "0:disabled, otherwise enbaled")
    private String enable;
	/**是否不分产品共享物料:1是共享其他都不共享*/
	@Excel(name = "是否不分产品共享物料:1是共享其他都不共享", width = 15)
    @ApiModelProperty(value = "是否不分产品共享物料:1是共享其他都不共享")
    @Dict(dicCode = "yn")
    private String shared;
	/**0: 初始状态, 1: 正常状态, 2: 手工报警,*/
	@Excel(name = "0: 初始状态, 1: 正常状态, 2: 手工报警,", width = 15)
    @ApiModelProperty(value = "0: 初始状态, 1: 正常状态, 2: 手工报警,")
    private String status;
	/**Block limit,less than 0 or null means not block*/
	@Excel(name = "Block limit,less than 0 or null means not block", width = 15)
    @ApiModelProperty(value = "Block limit,less than 0 or null means not block")
    private java.math.BigDecimal blocklimit;
	/**null same as 0, less than 0 means not warning*/
	@Excel(name = "null same as 0, less than 0 means not warning", width = 15)
    @ApiModelProperty(value = "null same as 0, less than 0 means not warning")
    private java.math.BigDecimal warninglimit;
	/**
     * 拉动数量
     */
    @Excel(name = "拉动数量", width = 15)
    @ApiModelProperty(value = "拉动数量")
    private java.math.BigDecimal qtyPull;
    /**
     * 更新时间
     */
    @Excel(name = "更新时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date ctime;
}
